package com.eshop.modules.activity.service;

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.eshop.modules.activity.service.dto.UserExtractDto;
import java.util.List;
import java.util.Map;
import org.springframework.data.domain.Pageable;
import com.eshop.modules.activity.service.dto.UserExtractQueryCriteria;
import com.eshop.modules.activity.param.UserExtParam;
import com.eshop.modules.user.domain.ShopUser;
import com.eshop.modules.activity.domain.UserExtract;
import com.eshop.common.service.BaseService;

public interface UserExtractService extends BaseService<UserExtract>
{
    void userExtract(final ShopUser userInfo, final UserExtParam param);
    
    double extractSum(final Long uid);
    
    Map<String, Object> queryAll(final UserExtractQueryCriteria criteria, final Pageable pageable);
    
    List<UserExtract> queryAll(final UserExtractQueryCriteria criteria);
    
    void download(final List<UserExtractDto> all, final HttpServletResponse response) throws IOException;
    
    void doExtract(final UserExtract resources);
}
